GtkWindow: Enlarge the type hint private field
authorJonas Ådahl <jadahl@gmail.com>
Tue, 13 Oct 2015 12:53:39 +0000 (20:53 +0800)
committerJonas Ådahl <jadahl@gmail.com>
Wed, 14 Oct 2015 02:32:31 +0000 (10:32 +0800)
Make it what it is - the enum - so that that it is sure that the hint
will fit in the field. Without this, any hint that doesn't fit in 3
bits will be truncated to the 3 least significant bits, causing
unexpected behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=756496

gtk/gtkwindow.c

index efde8423cac72ea5843338b6def2d1ccd2b161cc..bc8ba327a37631da255634ac9ecf7d64595381de 100644 (file)
@@ -227,11 +227,6 @@ struct _GtkWindowPrivate
   guint    stick_initially           : 1;
   guint    transient_parent_group    : 1;
   guint    type                      : 4; /* GtkWindowType */
-  guint    type_hint                 : 3; /* GdkWindowTypeHint if the hint is
-                                           * one of the original eight. If not,
-                                           * then it contains
-                                           * GDK_WINDOW_TYPE_HINT_NORMAL
-                                           */
   guint    urgent                    : 1;
   guint    gravity                   : 5; /* GdkGravity */
   guint    csd_requested             : 1;
@@ -243,6 +238,8 @@ struct _GtkWindowPrivate
 
   guint    use_subsurface            : 1;
 
+  GdkWindowTypeHint type_hint;
+
   GtkGesture *multipress_gesture;
   GtkGesture *drag_gesture;